package com.haixiaoke.saas.tenant.service;

import com.haixiaoke.saas.tenant.domain.WechatAccount;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 微信商户号信息Service接口
 *
 * @author panda
 * @date 2023-12-26
 */
public interface IWechatAccountService {
    /**
     * 查询微信商户号信息
     *
     * @return 微信商户号信息
     */
    WechatAccount selectWechatAccountByWechatAccountId(String tenantId);

    /**
     * 查询微信商户号信息列表
     *
     * @param wechatAccount 微信商户号信息
     * @return 微信商户号信息集合
     */
    List<WechatAccount> selectWechatAccountList(WechatAccount wechatAccount);

    /**
     * 新增微信商户号信息
     *
     * @param wechatAccount 微信商户号信息
     * @return 结果
     */
    int insertWechatAccount(WechatAccount wechatAccount);

    /**
     * 修改微信商户号信息
     *
     * @param wechatAccount 微信商户号信息
     * @param file
     * @return 结果
     */
    int updateWechatAccount(WechatAccount wechatAccount, MultipartFile file);

    /**
     * 批量删除微信商户号信息
     *
     * @param wechatAccountIds 需要删除的微信商户号信息主键集合
     * @return 结果
     */
    int deleteWechatAccountByWechatAccountIds(Long[] wechatAccountIds);

    /**
     * 删除微信商户号信息信息
     *
     * @param wechatAccountId 微信商户号信息主键
     * @return 结果
     */
    int deleteWechatAccountByWechatAccountId(Long wechatAccountId);

    /**
     * 根据机构id查询商户号信息
     *
     * @param tenantId
     * @return
     */
    WechatAccount selectWechatAccountByTenantId(String tenantId);

    /**
     * 根据商户号id查询商户号信息
     *
     * @param accountId 商户号id
     * @return
     */
    WechatAccount selectWechatAccountByAccountId(String accountId);
}
